/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapaPersistencia;

import CapaDatos.Nomina;
import java.util.ArrayList;


/**
 * Clase controladora para el dominio de Cliente
 * @author gerardobarcia
 */
public class ControladorNomina {

    /** atributo para el manejo de la persistencia de cliente*/
    private IDAONomina manejadorPersistencia = new DAONominaXML();

    /**
     * firma para registrar un nuevo cliente en el sistema
     * @param cedula cedula del cliente
     * @param nombre nombre del cliente
     * @param apellido apellido del cliente
     * @param Fecha fecha de nacimiento del cliente
     * @return valor booleano con la condicion de exito
     */
    public boolean nuevaNomina(String cedula, String nombre, String apellido,
            String sexo, String nacionalidad, String edoCivil, String Fecha) {
        boolean resultado = false;
        Nomina nominaNueva = new Nomina();
        nominaNueva.setCedula(cedula);
        nominaNueva.setNombre(nombre);
        nominaNueva.setApellido(apellido);
        nominaNueva.setSexo(sexo);
        nominaNueva.setNacionalidad(nacionalidad);
        nominaNueva.setEdoCivil(edoCivil);
        nominaNueva.setFechaNac(Fecha);


        resultado = manejadorPersistencia.agregarNomina(nominaNueva);
        return resultado;
    }

//    /**
//     *  firma para actualizar un cliente en el sistema
//     * @param cedula cedula del cliente
//     * @param nombre nombre del cliente
//     * @param apellido apellido del cliente
//     * @param Fecha fecha de nacimiento del cliente
//     * @return valor booleano con la condicion de exito
//     */
    public boolean actualizarNomina(String cedula, String nombre, String apellido,
            String sexo, String nacionalidad, String edoCivil, String Fecha) {
        boolean resultado = false;
        Nomina nominaAct = new Nomina();
        nominaAct.setCedula(cedula);
        nominaAct.setNombre(nombre);
        nominaAct.setApellido(apellido);
        nominaAct.setSexo(sexo);
        nominaAct.setNacionalidad(nacionalidad);
        nominaAct.setEdoCivil(edoCivil);
        nominaAct.setFechaNac(Fecha);
        resultado = manejadorPersistencia.actualizarNomina(nominaAct);
        return resultado;
    }
//
//    /**
//     * firma para eliminar un cliente del sistema
//     * @param cedula cedula del cliente a eliminar
//     * @return valor booleano con la condicion de exito
//     */
    public boolean eliminarNomina(String cedula) {
        boolean resultado = false;
        String cedulaEliminar = cedula;
        resultado = manejadorPersistencia.borrarNomina(cedulaEliminar);
        return resultado;
    }
//
//    /**
//     * firma para buscar un cliente en el sistema
//     * @param cedula cedula del cliente a buscar
//     * @return objeto cliente con los datos
//     */
    public Nomina buscarNomina(String cedula) {
        Nomina resultado = null;
        String cedulaBuscar = cedula;
        resultado = manejadorPersistencia.buscarNomina(cedulaBuscar);
        return resultado;
    }
//
//    /**
//     * Firma para obtener todos los clientes del sistema
//     * @return ArrayList con todos los clientes del sistema
//     */
    public ArrayList<Nomina> todaLaNomina() {
        return this.manejadorPersistencia.todaLaNomina();
    }
}